export const crudOptions = (vm) => {
  return {
    rowHandle: {
      width: 70,
      // view: {
      //   thin: true,
      //   text: '查看结果',
      //   disabled () {
      //     // return false
      //     return !vm.hasPermissions('Retrieve')
      //   }
      // },
      view: {
        show () {
          // return false
          return !vm.hasPermissions('Update')
        }
      },
      edit: {
        show () {
          // return false
          return !vm.hasPermissions('Update')
        }
      },
      remove: {
        thin: true,
        text: '删除',
        disabled () {
          // return false
          return !vm.hasPermissions('Delete')
        }
      },
      fixed: 'right'
    },
    options: {
      tableType: 'vxe-table',
      rowKey: true, // 必须设置，true or false
      rowId: 'id',
      height: '100%', // 表格高度100%, 使用toolbar必须设置
      width: '70%',
      highlightCurrentRow: false
    },
    formOptions: { // 表单宽度
      defaultSpan: 24, // 默认的表单 span
      width: '35%'
    },
    indexRow: { // 序号
      title: '序号',
      align: 'center',
      width: 60
    },
    selectionRow: { // 多选框
      align: 'center',
      width: 46
    },
    columns: [
      {
        title: '',
        key: 'id',
        form: { // 表单配置
          disabled: true // 禁用表单编辑
        },
        disabled: true, // 隐藏列
        sortable: true
      },
      {
        title: '用例名称',
        key: 'case_belong',
        width: 200,
        type: 'select',
        dict: {
          cache: false,
          url: '/test_manage/case_info/',
          value: 'id',
          label: 'case_name'
        }, // 数据字典
        search: { disabled: false }, // 开启查询
        showOverflowTooltip: true,
        form: { // 表单配置
          disabled: false, // 禁用表单编辑
          component: {
            props: {
              clearable: true,
              filterable: true
            },
            placeholder: '请选择用例名称'
          },
          itemProps: {
            class: { yxtInput: true }
          }
        },
        sortable: false
      },
      {
        title: '校验结果',
        key: 'verification',
        search: { disabled: false }, // 开启查询
        width: 75,
        form: { // 表单配置
          disabled: false, // 禁用表单编辑
          rules: [{ required: true, message: '校验结果' }],
          component: {
            props: {
              clearable: true
            },
            placeholder: '请输入校验结果'
          },
          itemProps: {
            class: { yxtInput: true }
          }
        },
        sortable: false
      },
      {
        title: '返回结果',
        key: 'result',
        showOverflowTooltip: true,
        form: { // 表单配置
          disabled: false, // 禁用表单编辑
          rules: [{ required: true, message: '返回结果' }],
          component: {
            props: {
              clearable: true
            },
            placeholder: '请输入返回结果'
          },
          itemProps: {
            class: { yxtInput: true }
          }
        },
        sortable: false
      },
      {
        title: '用例耗时(ms)',
        key: 'took_time',
        width: 105,
        form: { // 表单配置
          disabled: false, // 禁用表单编辑
          rules: [{ required: true, message: '用例耗时' }],
          component: {
            props: {
              clearable: true
            },
            placeholder: '请输入用例耗时'
          },
          itemProps: {
            class: { yxtInput: true }
          }
        },
        sortable: false
      }
    ].concat(vm.commonEndColumns({
      create_datetime: { showTable: false },
      update_datetime: { changeTitle: '执行时间' },
      modifier_name: { showTable: true, changeTitle: '执行人' }
    }))
  }
}
